fseek()
, ftell()
, এবং rewind()
এর মাধ্যমে ফাইল নেভিগেশনসি প্রোগ্রামিং ভাষায় ফাইলের মধ্যে ডেটা নেভিগেট করার জন্য fseek()
, ftell()
, এবং rewind()
ফাংশনগুলো ব্যবহৃত হয়। এই ফাংশনগুলো ফাইলের মধ্যে পজিশন পরিবর্তন করতে সাহায্য করে, যা বিশেষ করে যখন আপনি ফাইলের কোনো নির্দিষ্ট অংশে পৌঁছাতে চান অথবা ফাইলের মধ্যে রিড/রাইট অপারেশন করতে চান।
fseek()
– ফাইল পজিশন পরিবর্তন করাfseek()
ফাংশনটি একটি ফাইলের বর্তমান পজিশন পরিবর্তন করে। এটি ফাইলের একটি নির্দিষ্ট অবস্থানে (অথবা একটি শিফট হিসাবে) ফাইল পয়েন্টারকে স্থানান্তর করে।
int fseek(FILE *stream, long offset, int whence);
stream
: এটি সেই ফাইল পয়েন্টার যা খোলা ফাইলকে নির্দেশ করে।offset
: এটি পজিশনের শিফট, এটি একটি ইন্টিজার সংখ্যা যা ফাইলের বর্তমান অবস্থান থেকে কতটা দূরত্বে যেতে হবে তা নির্দেশ করে।whence
: এটি শুরু করার পজিশন নির্ধারণ করে, এবং এর কিছু মান আছে:SEEK_SET
: ফাইলের শুরুর অবস্থান থেকে পজিশন হিসাব করা হবে।SEEK_CUR
: বর্তমান অবস্থান থেকে পজিশন হিসাব করা হবে।SEEK_END
: ফাইলের শেষ অবস্থান থেকে পজিশন হিসাব করা হবে।#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("File not found.\n");
return 1;
}
// ফাইলের 10 বাইট পরে পজিশন সেট করা
fseek(file, 10, SEEK_SET);
printf("Moved 10 bytes from the beginning.\n");
// ফাইলের 5 বাইট পরে বর্তমান অবস্থান থেকে পজিশন সেট করা
fseek(file, 5, SEEK_CUR);
printf("Moved 5 bytes from the current position.\n");
// ফাইলের শেষ থেকে 5 বাইট আগে পজিশন সেট করা
fseek(file, -5, SEEK_END);
printf("Moved 5 bytes backward from the end.\n");
fclose(file);
return 0;
}
এখানে, fseek()
ফাংশনটি ফাইলের পজিশন পরিবর্তন করেছে, এবং আপনি ফাইলের বিভিন্ন অবস্থান থেকে শিফট করেছেন।
ftell()
– বর্তমান পজিশন জানানোftell()
ফাংশনটি একটি ফাইল পয়েন্টারের বর্তমান অবস্থান (পজিশন) প্রদান করে। এটি ফাইলের পজিশন হিসেবে একটি ইন্টিজার রিটার্ন করে, যা ফাইলের শুরুর অবস্থান থেকে পরিমাপ করা হয়।
long ftell(FILE *stream);
stream
: এটি সেই ফাইল পয়েন্টার যা খোলা ফাইলকে নির্দেশ করে।#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("File not found.\n");
return 1;
}
// বর্তমান অবস্থান জানার জন্য ftell ব্যবহার
long position = ftell(file);
printf("Current position: %ld\n", position);
fclose(file);
return 0;
}
এখানে ftell()
ফাংশনটি ফাইলের বর্তমান অবস্থান প্রদান করেছে, যা ফাইলের শুরুর স্থান থেকে কতটা দূরে অবস্থান করছে তা দেখায়।
rewind()
– ফাইলের পজিশন শুরুর অবস্থানে ফিরিয়ে আনাrewind()
ফাংশনটি ফাইলের পয়েন্টারকে ফাইলের শুরুর অবস্থানে ফিরিয়ে নিয়ে যায়। এটি fseek()
এর মতো কাজ করে, তবে rewind()
ফাংশনটি SEEK_SET
থেকে শুরুর অবস্থানে সোজাসুজি চলে যায় এবং ftell()
ফাংশনের মতো ফাইলের পজিশন রিটার্ন করে না।
void rewind(FILE *stream);
stream
: এটি সেই ফাইল পয়েন্টার যা খোলা ফাইলকে নির্দেশ করে।#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("File not found.\n");
return 1;
}
// ফাইলের শুরুর অবস্থানে ফিরে যাওয়া
rewind(file);
printf("File position is reset to the beginning.\n");
fclose(file);
return 0;
}
এখানে rewind()
ফাংশনটি ফাইলের পয়েন্টারকে শুরুর অবস্থানে ফিরিয়ে এনেছে।
ফাংশন | বর্ণনা | সিঙ্কট্যাক্স |
---|---|---|
fseek() | ফাইল পয়েন্টারকে একটি নির্দিষ্ট অবস্থানে স্থানান্তরিত করে। | fseek(FILE *stream, long offset, int whence); |
ftell() | ফাইলের বর্তমান অবস্থান প্রদান করে। | long ftell(FILE *stream); |
rewind() | ফাইল পয়েন্টারকে শুরুর অবস্থানে ফিরিয়ে নিয়ে যায়। | void rewind(FILE *stream); |
fseek()
ফাংশনটি ফাইলের পজিশন পরিবর্তন করে এবং ftell()
বর্তমান পজিশন জানাতে ব্যবহৃত হয়।rewind()
ফাংশনটি ফাইলের পয়েন্টারকে শুরুর অবস্থানে ফিরিয়ে আনে।এই ফাংশনগুলো ফাইলের মধ্যে ডেটা নেভিগেশন করতে সাহায্য করে, যা ফাইলের নির্দিষ্ট অংশে দ্রুত পৌঁছাতে এবং পুনরায় ফাইলটি প্রক্রিয়া করতে সহায়ক।
common.read_more